﻿<p>An <em>IfcRevolvedAreaSolid</em> is a solid created by revolving a cross section provided by a profile definition about an axis.</p>

<p>The resulting solid is positioned by the <em>IfcSweptAreaSolid</em>.<em>Position</em> relative to the object coordinate system. If provided, it allows to reposition the revolved solid. If not provided, it defaults to the current object coordinate system. The axis and the cross section shall be in the same plane, prior to any repositioning.</p>

<blockquote class="note">NOTE&nbsp; Both the axis and the cross section are required to lie in the xy plane of the object position coordinate system.</blockquote>

<table summary="revolved solid geometry" cellpadding="2" cellspacing="2" border="0">
<tr>
<td><img src="../../../figures/ifcrevolvedareasolid-fig1.png" alt="revolved area solid" border="0"></td>
<td><blockquote class="example">EXAMPLE&nbsp; Figure 4 illustrates geometric parameters of the revolved solid. The revolved area solid defines the revolution of a 2D area (given by a profile definition) by an axis and angle. The result is a solid. The swept area is given by a
profile definition.</blockquote>
<blockquote>
<ul>
<li class="small">The profile is defined:<ul>
 <li class="small">as a 2D primitive, here <em>IfcRectangleProfileDef</em>, that is placed relative to the xy plane of object coordinate system</li>
 <li class="small">since no 2D profile position coordinate system is provided, here <em>IfcParameterizedProfileDef</em>.<em>Position</em> = NIL, the profile is positioned without transformation into the xy plane of the object coordinate system (by default, centric at 0.,0. with no rotation)</li>
</ul>
<li class="small">The resulting swept solid is not repositioned, as no position coordinate system is provided, here IfcSweptAreaSolid</em>.<em>Position</em> = NIL.</li>
</ul>
</blockquote>
<blockquote class="example">The <em>AxisLine</em> can have any orientation within the XY plane, it does not have to be parallel to the y-axis as
shown in the illustration.</blockquote>
</td>
</tr>
<tr>
<td>
<p class="figure">Figure 4 &mdash; Revolved area solid geometry</p>
</td>
</tr>
</table>
<table summary="revolved solid geometry repositioning" cellpadding="2" cellspacing="2" border="0">
<tr>
<td><img src="../../../figures/ifcrevolvedareasolid-fig2.png" alt="revolved area solid" border="0"></td>
<td><blockquote class="example">EXAMPLE&nbsp; Figure 1 illustrates geometric parameters and additional positioning parameters of the revolved area solid. The revolved area solid defines the rotation of a 2D area by an axis and angle. The 2D area, provided by a parameterized profile definition, can be positioned relative to the object coordinate system (other then by default at 0.,0. with no rotation). The result is a solid that can be repositioned within the object coordinate system.</blockquote>
<blockquote><ul>
<li class="small">The profile to be swept is defined:
<ul>
 <li class="small">as a 2D primitive, here <em>IfcRectangleProfileDef</em>, that is placed relative to the xy plane of object coordinate system</li>
 <li class="small">a 2D profile position coordinate system is provided that positions the profile relative to the xy plane (here at a corner of the rectangle)</li>
</ul></li>
<li class="small">The resulting swept solid is repositioned, here it is moved into local z and rotated by 15' along the x axis.</li>
</ul></blockquote>
</td>
</tr>
<tr>
<td>
<p class="figure">Figure 5 &mdash; Repositioned revolved area solid geometry</p>
</td>
</tr>
</table>
<blockquote class="extDef">NOTE&nbsp; Definition according to ISO/CD 10303-42:1992<br>
A revolved area solid is a solid formed by revolving a planar bounded surface about an axis. The axis shall be in the
plane of the surface and the axis shall not intersect the interior of the bounded surface. The bounded surface may have
holes which will sweep into holes in the solid. The direction of revolution is clockwise when viewed along the axis in
the positive direction. More precisely if <b>A</b> is the axis location and <b>d</b> is the axis direction and <b>C</b>
is an arc on the surface of revolution generated by an arbitrary point <b>p</b> on the boundary of the swept area, then
<b>C</b> leaves <b>p</b> in direction <b>d</b> x (<b>p</b> - <b>A</b>) as the area is revolved.</blockquote>
<blockquote class="note">NOTE&nbsp; Entity adapted from <strong>revolved_area_solid</strong> defined in ISO
10303-42.</blockquote>
<blockquote class="history">HISTORY&nbsp; New entity in IFC1.5</blockquote>
<p class="spec-head">Informal Propositions:</p>
<ol>
<li>The <em>AxisLine</em> shall lie in the plane of the <em>SweptArea</em> (as defined at supertype
<em>IfcSweptAreaSolid</em>).</li>
<li>The <em>AxisLine</em> shall not intersect the interior of the <em>SweptArea</em> (as defined at supertype
<em>IfcSweptAreaSolid</em>).</li>
<li>The <em>Angle</em> shall be between 0&deg; and 360&deg;, or 0 and 2&pi; (depending on the unit type for
<em>IfcPlaneAngleMeasure</em>).</li>
</ol>
<p class="use-head">Texture Use Definition</p>
<p>For side faces, textures are aligned facing upright along the sides with origin at the first point of an arbitrary
profile, and following the outer bound of the profile counter-clockwise (as seen from above). For parameterized
profiles, the origin is defined at the +Y extent for rounded profiles (having no sharp edge) and the first sharp edge
counter-clockwise from the +Y extent for all other profiles. Textures are stretched or repeated on each side along the
outer boundary of the profile according to <em>RepeatS</em>. Textures are stretched or repeated on each side along the
outermost (longest) revolution path according to <em>RepeatT</em>, where coordinates are compressed towards the axis of
revolution.</p>
<p>For top and bottom caps, textures are aligned facing front-to-back, with the origin at the minimum X and Y extent.
Textures are stretched or repeated on the top and bottom to the extent of each face according to <em>RepeatS</em> and
<em>RepeatT</em>.</p>
<p>For profiles with voids, textures are aligned facing upright along the inner side with origin at the first point of
an arbitrary profile, and following the inner bound of the profile clockwise (as seen from above). For parameterized
profiles, the origin of inner sides is defined at the +Y extent for rounded profiles (having no sharp edge such as
hollow ellipses or rounded rectangles) and the first sharp edge clockwise from the +Y extent for all other
profiles.</p>
<table summary="texture">
<tr>
<td><img src="../../../figures/ifcrevolvedareasolid-texture.png" alt="texture"></td>
<td>
<blockquote class="example">Figure 6 illustrates default texture mapping with a repeated texture (RepeatS=True and RepeatT=True). The image on
the left shows the texture where the S axis points to the right and the T axis points up. The image on the right shows
the texture applied to the geometry where the X axis points back to the right, the Y axis points back to the left, and
the Z axis points up. For an <em>IfcRevolvedAreaSolid</em> having a profile of <em>IfcTShapeProfileDef</em> and
revolved at 22.5 degrees, the side texture coordinate origin is the first corner counter-clockwise from the +Y axis,
which equals <br><br>(-0.5*IfcTShapeProfileDef.OverallWidth, +0.5*IfcTShapeProfileDef.OverallDepth),<br><br> while the top (end cap)
texture coordinates start at <br><br>(-0.5*IfcTShapeProfileDef.OverallWidth, -0.5*IfcTShapeProfileDef.OverallDepth).</blockquote>
</td>
</tr>
<tr>
<td>
<p class="figure">Figure 6 &mdash; Revolved area solid textures</p>
</td>
</tr>
</table>